home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CRESC / Lengths / length-aggregate < prev    next >
Lisp/Scheme  |  1996-12-31  |  944b  |  13 lines

  1. length-aggregate division-list lengths-pattern
  2.  
  3. This function collects together sequences of note-lengths and length-rests from within a lengths-pattern. The length and number of sequences can be chosen by the composer via a division list. The numbers in this list divide the lengths- pattern repeatly until the possibilities of the pattern are exhausted. The lengths sequences are then summed together to created aggregates of lengths, thus providing a sustained accompaniment that tracks the main structural divisions of the lengths-pattern.
  4.  
  5. (setq rhy '(1/4 1/8 1/8 -1/8 1/8 1/4))
  6. (setq rhy1 (length-aggregate '(1 2 3) rhy))
  7. --> (1/4 1/4 1/2)
  8.  
  9. (setq rhy2 (length-aggregate '(1 2 4) (gen-repeat 4 rhy)))
  10. --> (1/4 1/4 3/4 1/8 1/4 3/4 1/8 1/4 3/4 1/8 3/8)
  11.  
  12. Use with length-rests-i or add-rests to add length-rests to appropriate values in an aggregate pattern. Or, use = symbols in the matching melody symbol pattern. See also length-condense.
  13.